import { Module } from '@nestjs/common';
import { UserModule } from './user/user.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { RolesModule } from './roles/roles.module';
import { Profile } from './user/modules/profile.entity';
import { Roles } from './roles/modules/roles.entity';
import { User } from './user/modules/user.entity';
import { AuthModule } from './auth/auth.module';

@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql', // 数据库类型，这里指定为 MySQL
      host: 'localhost', // 数据库主机地址，通常是数据库服务器的 IP 地址或域名，这里是本地数据库
      port: 3306, // 数据库端口，MySQL 的默认端口是 3306
      username: 'root', // 数据库用户名，这里是 root 用户
      password: 'root', // 数据库密码，这里是 root 用户的密码
      database: 'sys', // 要连接的数据库名称，这里是 sys 数据库
      entities: [Profile, Roles, User], // 实体文件路径，告诉 TypeORM 在哪里查找实体文件
      logging: true, // 启用日志记录，这样可以看到 SQL 查询日志，方便调试
      synchronize: true, // 自动同步实体和数据库结构，这在开发环境下很有用，但在生产环境下应小心使用
      autoLoadEntities: true, // 自动加载实体，这样就不需要在每个模块中手动导入实体
    }),
    UserModule,
    RolesModule,
    AuthModule
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}
